﻿using Ndns.Packet.Abstractions;
using System.Collections.Generic;

namespace Ndns.ServerHost.Abstractions
{
    public abstract class DnsRequest
    {
        public abstract DnsContext DnsContext { get; }

        /// <summary>
        /// 允许服务器进行递归查询
        /// </summary>
        public abstract bool RecursionDesired { get; set; }

        /// <summary>
        /// 客户端愿意接受未认证的数据
        /// </summary>
        public abstract bool AcceptNonAuthenticatedData { get; set; }

        /// <summary>
        /// 请求操作码
        /// </summary>
        public abstract DnsOpCode OperationCode { get; set; }

        /// <summary>
        /// 请求集合
        /// </summary>
        public abstract IList<DnsQuery> Queries { get; }
    }
}
